package org.lmind.srd35.core

/**
 * 表示生物
 */
trait Creature extends AbilityObject with Equipmentable {

  private var _race:Race = null
  private var _alignment = Alignment.LawfulGood
  private var _size = BodySize.Medium
  private var _hp = 0;
  private var _baseAttackBonus = 0;

  def race = _race
  def race_=(v: Race) = _race = v
  
  def alignment = _alignment
  def alignment_=(v: Alignment.Value) = _alignment = v

  def size = _size
  def size_=(v: BodySize.Value) = _size = v

  def hp = _hp
  def hp_=(v: Int) = _hp = v

  def baseAttackBonus = _baseAttackBonus
  def baseAttackBonus_=(v: Int) = _baseAttackBonus = v
  
  def distanceOf(other:Creature):Int
}